<?php

namespace Portal\ContentBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Menu
 */
class Menu
{
    /**
     * @var integer
     */
    private $id;

    /**
     * @var string
     */
    private $nameMn;

    /**
     * @var string
     */
    private $nameEn;

    /**
     * @var string
     */
    private $slug;

    /**
     * @var integer
     */
    private $parentId;

    /**
     * @var string
     */
    private $targetUrl;

    /**
     * @var integer
     */
    private $contentId;

    /**
     * @var boolean
     */
    private $isAdminMenu;

    /**
     * @var string
     */
    private $roles;

    /**
     * @var integer
     */
    private $sortOrder;

    /**
     * @var boolean
     */
    private $isActive;

    /**
     * @var string
     */
    private $icon;

    /**
     * @var \DateTime
     */
    private $createdAt;

    /**
     * @var integer
     */
    private $createdUserId;

    /**
     * @var \DateTime
     */
    private $updatedAt;

    /**
     * @var integer
     */
    private $updatedUserId;

    /**
     * @var string
     */
    private $updatedIp;


    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set nameMn
     *
     * @param string $nameMn
     * @return Menu
     */
    public function setNameMn($nameMn)
    {
        $this->nameMn = $nameMn;
    
        return $this;
    }

    /**
     * Get nameMn
     *
     * @return string 
     */
    public function getNameMn()
    {
        return $this->nameMn;
    }

    /**
     * Set nameEn
     *
     * @param string $nameEn
     * @return Menu
     */
    public function setNameEn($nameEn)
    {
        $this->nameEn = $nameEn;
    
        return $this;
    }

    /**
     * Get nameEn
     *
     * @return string 
     */
    public function getNameEn()
    {
        return $this->nameEn;
    }

    /**
     * Set slug
     *
     * @param string $slug
     * @return Menu
     */
    public function setSlug($slug)
    {
        $this->slug = $slug;
    
        return $this;
    }

    /**
     * Get slug
     *
     * @return string 
     */
    public function getSlug()
    {
        return $this->slug;
    }

    /**
     * Set parentId
     *
     * @param integer $parentId
     * @return Menu
     */
    public function setParentId($parentId)
    {
        $this->parentId = $parentId;
    
        return $this;
    }

    /**
     * Get parentId
     *
     * @return integer 
     */
    public function getParentId()
    {
        return $this->parentId;
    }

    /**
     * Set targetUrl
     *
     * @param string $targetUrl
     * @return Menu
     */
    public function setTargetUrl($targetUrl)
    {
        $this->targetUrl = $targetUrl;
    
        return $this;
    }

    /**
     * Get targetUrl
     *
     * @return string 
     */
    public function getTargetUrl()
    {
        return $this->targetUrl;
    }

    /**
     * Set contentId
     *
     * @param integer $contentId
     * @return Menu
     */
    public function setContentId($contentId)
    {
        $this->contentId = $contentId;
    
        return $this;
    }

    /**
     * Get contentId
     *
     * @return integer 
     */
    public function getContentId()
    {
        return $this->contentId;
    }

    /**
     * Set isAdminMenu
     *
     * @param boolean $isAdminMenu
     * @return Menu
     */
    public function setIsAdminMenu($isAdminMenu)
    {
        $this->isAdminMenu = $isAdminMenu;
    
        return $this;
    }

    /**
     * Get isAdminMenu
     *
     * @return boolean 
     */
    public function getIsAdminMenu()
    {
        return $this->isAdminMenu;
    }

    /**
     * Set roles
     *
     * @param string $roles
     * @return Menu
     */
    public function setRoles($roles)
    {
        $this->roles = $roles;
    
        return $this;
    }

    /**
     * Get roles
     *
     * @return string 
     */
    public function getRoles()
    {
        return $this->roles;
    }

    /**
     * Set sortOrder
     *
     * @param integer $sortOrder
     * @return Menu
     */
    public function setSortOrder($sortOrder)
    {
        $this->sortOrder = $sortOrder;
    
        return $this;
    }

    /**
     * Get sortOrder
     *
     * @return integer 
     */
    public function getSortOrder()
    {
        return $this->sortOrder;
    }

    /**
     * Set isActive
     *
     * @param boolean $isActive
     * @return Menu
     */
    public function setIsActive($isActive)
    {
        $this->isActive = $isActive;
    
        return $this;
    }

    /**
     * Get isActive
     *
     * @return boolean 
     */
    public function getIsActive()
    {
        return $this->isActive;
    }

    /**
     * Set icon
     *
     * @param string $icon
     * @return Menu
     */
    public function setIcon($icon)
    {
        $this->icon = $icon;
    
        return $this;
    }

    /**
     * Get icon
     *
     * @return string 
     */
    public function getIcon()
    {
        return $this->icon;
    }

    /**
     * Set createdAt
     *
     * @param \DateTime $createdAt
     * @return Menu
     */
    public function setCreatedAt($createdAt)
    {
        $this->createdAt = $createdAt;
    
        return $this;
    }

    /**
     * Get createdAt
     *
     * @return \DateTime 
     */
    public function getCreatedAt()
    {
        return $this->createdAt;
    }

    /**
     * Set createdUserId
     *
     * @param integer $createdUserId
     * @return Menu
     */
    public function setCreatedUserId($createdUserId)
    {
        $this->createdUserId = $createdUserId;
    
        return $this;
    }

    /**
     * Get createdUserId
     *
     * @return integer 
     */
    public function getCreatedUserId()
    {
        return $this->createdUserId;
    }

    /**
     * Set updatedAt
     *
     * @param \DateTime $updatedAt
     * @return Menu
     */
    public function setUpdatedAt($updatedAt)
    {
        $this->updatedAt = $updatedAt;
    
        return $this;
    }

    /**
     * Get updatedAt
     *
     * @return \DateTime 
     */
    public function getUpdatedAt()
    {
        return $this->updatedAt;
    }

    /**
     * Set updatedUserId
     *
     * @param integer $updatedUserId
     * @return Menu
     */
    public function setUpdatedUserId($updatedUserId)
    {
        $this->updatedUserId = $updatedUserId;
    
        return $this;
    }

    /**
     * Get updatedUserId
     *
     * @return integer 
     */
    public function getUpdatedUserId()
    {
        return $this->updatedUserId;
    }

    /**
     * Set updatedIp
     *
     * @param string $updatedIp
     * @return Menu
     */
    public function setUpdatedIp($updatedIp)
    {
        $this->updatedIp = $updatedIp;
    
        return $this;
    }

    /**
     * Get updatedIp
     *
     * @return string 
     */
    public function getUpdatedIp()
    {
        return $this->updatedIp;
    }
}